package org.twdata.pipeline;
import org.apache.commons.pool.*;

import org.apache.commons.pool.impl.*;

/**  Manages pipeline stage instances */
public interface StageManager {

    /**
     *  Gets the stage for the id 
     *
     *@param  id                     The id
     *@return                        The stage instance
     *@exception  PipelineException  If anything goes wrong
     */
    public Stage getStage(String id)
        throws PipelineException;


    /**
     *  Releases the pipeline stage from use
     *
     *@param  o                      The pipeline stage
     *@exception  PipelineException  If anything goes wrong
     */
    public void release(Stage o)
        throws PipelineException;

}

